Технологии распределенной обработки информации
Выделились несколько самостоятельных технологий распределенной обработки данных [14]:
¦ клиент-сервер;
¦ реплицирования;
¦ объектного связывания.
Реальные распределенные информационные системы, как правило, построены на основе сочетания ЭТИХ технологий.
Системы на основе технологии клиент-сервер разнились из первых централизованных многопользовательских информационных систем на основе мэйнфреймов и получили наиболее широкое распространение в корпоративных информационных системах.
При реализации данной технологии отступают от одного из основных принципов создания распределенных систем — отсутствия центрального узла [14].
Принцип централизации хранения и обработки данных является базовым принципом технологии клиент-сервер.
Можно выделить следующие идеи, лежащие в основе технологии клиент-сервер [14]:
¦ общие для всех пользователей данные, расположенные на одном или нескольких серверах;
¦ множество пользователей, осуществляющих доступ к общим данным.
Важное значение в технологии клиент-сервер имеют понятия сервера и клиента.
Под сервером в широком смысле понимается любая система, процесс, компьютер, владеющие каким-либо вычислительным ресурсом (памятью, временем процессора, файлами и Т.Д.). Клиентом называется любая система, процесс, компьютер, пользователь, делающие запрос к серверу на использование ресурса [14].
Настольные (локальные) СУБД, в случае их использования несколькими пользователями в компьютерной сети, функционируют на основе технологии файл-сервер, которая появилась раньше технологии клиент-сервер. Дело в том, что настольные СУБД не содержат специальных сервисов, управляющих данными, а используют для этой цели файловые сервисы операционной системы. Поэтому вся обработанных в таких СУБД осуществляется в клиентском приложении. При выполнении запросов все данные (даже те, которые не удовлетворяют запросу, а это могут быть сразу несколько таблиц) должны быть доставлены клиентскому приложению. Это приводит к перегрузке сети при увеличении числа пользователей и объема БД, а также грозит нарушением целостности данных.
Одним из важнейших преимуществ архитектуры клиент-сервер является снижение сетевого трафика при выполнении запросов. Клиент посылает запрос серверу на выборку данных, запрос обрабатывается сервером, и клиенту передастся не вся таблица (как было бы и технологии файл-сервер), а только результат обработки запроса.
Вторым преимуществом архитектуры клиент-сервер является возможность хранения так называемой бизнес-логики (например, правил ссылочной целостности или ограничений назначения данных) на сервере, что позволяет избежать дублирования кода в различных клиентских приложениях, использующих общую базу данных.
Во многих случаях узким местом клиент-серверных ИС является недостаточно высокая производительность из-за необходимости передачи по сети все-таки большого количества данных.
Построение быстродействующих информационных систем обеспечивают технологии репликации данных.
Репликой называют копию БД, размешенную на другом компьютере сети для автономной работы пользователей. Основная идея репликации заключается в том, что пользователи работают автономно с общими данными, растиражированными по локальным базам данных. Производительность работы системы повышается из-за отсутствия необходимости обмена данными по сети. Для реализации технологии
152
репликации программное обеспечение СУБД дополняется функциями тиражирования данных, их структуры, системной информации, информации о конфигурировании распределенной системы [14].
При этом, однако, возникают две проблемы реализации одного из принципов функционирования распределенных систем принципа непрерывности согласованного состояния данных [14]:
¦ обеспечение согласованного состояния данных во всех репликах БД;
¦ обеспечение согласованного состояния структуры данных во всех репликах БД.
Обеспечение согласованного состояния данных, в свою очередь, основывается на реализации одного из двух принципов [14]:
¦ принципа непрерывного размножения обновлений;
¦ принципа отложенных обновлений (обновления реплик могут быть отложены до специальной команды или ситуации).
Принцип непрерывного размножения обновлений является основополагающим при построении так называемых «систем реального времени- (например, систем управления воздушным движением, систем бронирования билетов пассажирского транспорта и др.), где требуется непрерывное и точное соответствие реплик во всех узлах и компонентах распределенных систем в любой момент времени. Реализация этого принципа заключается в том, что любая транзакция считается успешно завершенной, если она успешно завершена на всех репликах системы.
В ряде предметных областей режим реального времени с точки зрения непрерывности согласования данных не требуется. Такого рода информационные системы можно строить на основе принципа отложенных обновлений. Накопленные в какой-либо реплике изменения данных передаются командой пользователя для обновления всех остальных реплик системы. Такая операция называется синхронизацией реплик.
Унификация взаимодействия прикладных компонентов с ядром информационных систем в виде SQL-серверов, наработанная для кли-ент-серверных систем, позволила выработать аналогичные решения и по интегрированию разрозненных локальных баз данных под управлением настольных СУБД. Такая технология получила название объектного связывания данных [14].
Технология объектного связывания данных решает задачу обеспечения доступа из одной локальной БД, открытой одним пользовате-
153
лем, к данным другой локальной БД, возможно, находящейся на другом компьютере, открытой другим пользователем. Решение ЭТОЙ задачи
основывается на поддержке современными настольными СУБД технологии объектом доступа к данным DAO (Data Access Objects). Под
объектом понимается интеграция данных и методов их обработки в одно целое, на чем, как известно, основываются технологии объектно-ориентированного программирования 114).
Технология объектного связывания данных основана на протоколе ODBC (Open Database Connectivity), который является стандартом тупа к данным БД клиент-серверных систем (посредством SQL-запросов), а также к любым данным, находящимся под управлением реляционных СУБД.
Подобный принцип построения распределенных систем при больших объемах данных в связанных таблицах приводит к существенному увеличению сетевого трафика, так- как по сети постоянно передаются страницы файлов баз данных. Другой проблемой является отсутствие надежных механизмов безопасности данных и обеспечение ограничений целостности. Так же как и в технологии файл-сервер, совместная работа нескольких пользователей с одними и теми же данными обеспечивается только функциями операционной системы по одновременному доступу к файлу нескольких приложений [14].
Контрольные вопросы
1. Дайте понятие распределенной БД.
2. Охарактеризуйте принципы распределенной БД, сформулированные К. Дейтом.
3. В чем состоит сущность технологии клиент-сервер?
4. Назовите преимущества технологии клиент-сервер по сравнению с технологией файл-сервер.
5. Охарактеризуйте технологию репликации данных.
6. Охарактеризуйте технологию объектного связывания данных.
Похожие рефераты: